- 
                Notifications
    You must be signed in to change notification settings 
- Fork 5.5k
feat: add zoom admin actions #16895
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add zoom admin actions #16895
Conversation
| The latest updates on your projects. Learn more about Vercel for Git ↗︎ 3 Skipped Deployments
 | 
| WalkthroughThis update introduces two new action modules for listing past meeting participants and retrieving meeting recordings, supported by corresponding new methods in the Zoom Admin app integration. Additionally, it increments version numbers across numerous action and source modules and updates the package version in  Changes
 Sequence Diagram(s)New Action: List Past Meeting ParticipantssequenceDiagram
    participant User
    participant Action
    participant ZoomAdminApp
    User ->> Action: Trigger "List past meeting participants"
    Action ->> ZoomAdminApp: listPastMeetingParticipants(meetingId)
    ZoomAdminApp ->> Zoom API: GET /past_meetings/{meetingId}/participants
    Zoom API -->> ZoomAdminApp: Participants data
    ZoomAdminApp -->> Action: Return participants
    Action -->> User: Output participants list
New Action: Get Meeting RecordingssequenceDiagram
    participant User
    participant Action
    participant ZoomAdminApp
    User ->> Action: Trigger "Get meeting recordings"
    Action ->> ZoomAdminApp: listMeetingRecordings(meetingId, params)
    ZoomAdminApp ->> Zoom API: GET /meetings/{meetingId}/recordings
    Zoom API -->> ZoomAdminApp: Recordings data
    ZoomAdminApp -->> Action: Return recordings
    Action -->> User: Output recordings list
Possibly related PRs
 Suggested reviewers
 Poem
 Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
 components/zoom_admin/actions/add-webinar-panelist/add-webinar-panelist.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs components/zoom_admin/actions/add-meeting-registrant/add-meeting-registrant.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs components/zoom_admin/actions/create-meeting/create-meeting.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs 
 📜 Recent review detailsConfiguration used: CodeRabbit UI ⛔ Files ignored due to path filters (1)
 📒 Files selected for processing (22)
 ✅ Files skipped from review due to trivial changes (4)
 🚧 Files skipped from review as they are similar to previous changes (18)
 ⏰ Context from checks skipped due to timeout of 90000ms (3)
 ✨ Finishing Touches
 Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit: 
 SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
 Other keywords and placeholders
 CodeRabbit Configuration File ( | 
fix: wrong method's place chore: up minor package json zoom admin Incremented version on components
c6192ab    to
    4f510ca      
    Compare
  
    There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
- pnpm-lock.yamlis excluded by- !**/pnpm-lock.yaml
📒 Files selected for processing (48)
- components/zoom_admin/actions/add-meeting-registrant/add-meeting-registrant.mjs(1 hunks)
- components/zoom_admin/actions/add-webinar-panelist/add-webinar-panelist.mjs(1 hunks)
- components/zoom_admin/actions/add-webinar-registrant/add-webinar-registrant.mjs(1 hunks)
- components/zoom_admin/actions/create-meeting/create-meeting.mjs(1 hunks)
- components/zoom_admin/actions/create-webinar/create-webinar.mjs(1 hunks)
- components/zoom_admin/actions/delete-cloud-recording/delete-cloud-recording.mjs(1 hunks)
- components/zoom_admin/actions/delete-meeting/delete-meeting.mjs(1 hunks)
- components/zoom_admin/actions/delete-webinar-panelist/delete-webinar-panelist.mjs(1 hunks)
- components/zoom_admin/actions/delete-webinar/delete-webinar.mjs(1 hunks)
- components/zoom_admin/actions/end-meeting/end-meeting.mjs(1 hunks)
- components/zoom_admin/actions/get-meeting-recordings/get-meeting-recordings.mjs(1 hunks)
- components/zoom_admin/actions/get-meeting/get-meeting.mjs(1 hunks)
- components/zoom_admin/actions/get-webinar/get-webinar.mjs(1 hunks)
- components/zoom_admin/actions/list-account-call-logs/list-account-call-logs.mjs(1 hunks)
- components/zoom_admin/actions/list-cloud-recordings/list-cloud-recordings.mjs(1 hunks)
- components/zoom_admin/actions/list-meeting-registrants/list-meeting-registrants.mjs(1 hunks)
- components/zoom_admin/actions/list-meetings/list-meetings.mjs(1 hunks)
- components/zoom_admin/actions/list-past-meeting-participants/list-past-meeting-participants.mjs(1 hunks)
- components/zoom_admin/actions/list-webinar-participants/list-webinar-participants.mjs(1 hunks)
- components/zoom_admin/actions/list-webinar-registrants/list-webinar-registrants.mjs(1 hunks)
- components/zoom_admin/actions/list-webinars/list-webinars.mjs(1 hunks)
- components/zoom_admin/actions/update-meeting/update-meeting.mjs(1 hunks)
- components/zoom_admin/actions/update-webinar-registrant-status/update-webinar-registrant-status.mjs(1 hunks)
- components/zoom_admin/actions/update-webinar/update-webinar.mjs(1 hunks)
- components/zoom_admin/package.json(1 hunks)
- components/zoom_admin/sources/account-created/account-created.mjs(1 hunks)
- components/zoom_admin/sources/account-settings-updated/account-settings-updated.mjs(1 hunks)
- components/zoom_admin/sources/account-updated/account-updated.mjs(1 hunks)
- components/zoom_admin/sources/custom-events/custom-events.mjs(1 hunks)
- components/zoom_admin/sources/meeting-created/meeting-created.mjs(1 hunks)
- components/zoom_admin/sources/meeting-deleted/meeting-deleted.mjs(1 hunks)
- components/zoom_admin/sources/meeting-ended/meeting-ended.mjs(1 hunks)
- components/zoom_admin/sources/meeting-started/meeting-started.mjs(1 hunks)
- components/zoom_admin/sources/meeting-updated/meeting-updated.mjs(1 hunks)
- components/zoom_admin/sources/recording-completed/recording-completed.mjs(1 hunks)
- components/zoom_admin/sources/user-activated/user-activated.mjs(1 hunks)
- components/zoom_admin/sources/user-created/user-created.mjs(1 hunks)
- components/zoom_admin/sources/user-deactivated/user-deactivated.mjs(1 hunks)
- components/zoom_admin/sources/user-deleted/user-deleted.mjs(1 hunks)
- components/zoom_admin/sources/user-invitation-accepted/user-invitation-accepted.mjs(1 hunks)
- components/zoom_admin/sources/user-updated/user-updated.mjs(1 hunks)
- components/zoom_admin/sources/webinar-changes-to-panelists/webinar-changes-to-panelists.mjs(1 hunks)
- components/zoom_admin/sources/webinar-created/webinar-created.mjs(1 hunks)
- components/zoom_admin/sources/webinar-deleted/webinar-deleted.mjs(1 hunks)
- components/zoom_admin/sources/webinar-ended/webinar-ended.mjs(1 hunks)
- components/zoom_admin/sources/webinar-started/webinar-started.mjs(1 hunks)
- components/zoom_admin/sources/webinar-updated/webinar-updated.mjs(1 hunks)
- components/zoom_admin/zoom_admin.app.mjs(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Verify TypeScript components
- GitHub Check: Publish TypeScript components
- GitHub Check: Lint Code Base
🔇 Additional comments (52)
components/zoom_admin/sources/user-deleted/user-deleted.mjs (1)
8-8: Version increment looks good.The version bump from 0.1.5 to 0.1.6 is appropriate for this coordinated update across Zoom Admin components.
components/zoom_admin/zoom_admin.app.mjs (2)
394-403: New method implementation looks solid.The
listPastMeetingParticipantsmethod follows the established patterns in this codebase:
- Consistent use of the
_makeRequesthelper- Standard page_size of 100 aligning with other similar methods
- Proper parameter structure with
next_page_tokenfor pagination- Returns the data portion of the response consistently
The API endpoint
/past_meetings/${meetingId}/participantsappears correct for fetching past meeting participants.
404-414: Method implementation follows established patterns.The
listMeetingRecordingsmethod is well-implemented:
- Consistent with other methods using
_makeRequest- Proper parameter merging with spread operator for additional params
- Standard page_size of 100 matching other pagination methods
- Returns data consistently with the rest of the codebase
The API endpoint
/meetings/${meetingId}/recordingsis appropriate for fetching meeting recordings.components/zoom_admin/sources/account-created/account-created.mjs (1)
8-8: Version increment is appropriate.The version bump from 0.1.5 to 0.1.6 aligns with the coordinated update across Zoom Admin components.
components/zoom_admin/sources/webinar-deleted/webinar-deleted.mjs (1)
8-8: Version increment is consistent with the coordinated update.The version bump from 0.1.5 to 0.1.6 properly aligns with the package-wide version update.
components/zoom_admin/sources/user-created/user-created.mjs (1)
8-8: LGTM: Version bump as part of coordinated release.The version increment from "0.1.5" to "0.1.6" is appropriate for this coordinated package update. No functional changes were made to the source logic.
components/zoom_admin/sources/user-deactivated/user-deactivated.mjs (1)
8-8: LGTM: Coordinated version increment.The version bump to "0.1.6" is consistent with the package-wide version update. The source functionality remains unchanged and correct.
components/zoom_admin/sources/meeting-updated/meeting-updated.mjs (1)
8-8: LGTM: Version update aligns with package release.The version increment is part of the coordinated release. The meeting update source logic remains unchanged and properly implemented.
components/zoom_admin/sources/user-invitation-accepted/user-invitation-accepted.mjs (1)
8-8: LGTM: Consistent version bump completes coordinated update.The version increment to "0.1.6" maintains consistency across all source components. The invitation acceptance logic remains correct and unchanged.
components/zoom_admin/actions/create-webinar/create-webinar.mjs (1)
12-12: LGTM: Routine version maintenance.The patch version increment from "0.1.5" to "0.1.6" is appropriate for this maintenance update with no functional changes.
components/zoom_admin/actions/list-account-call-logs/list-account-call-logs.mjs (1)
8-8: LGTM: Consistent version maintenance.The patch version increment from "0.0.2" to "0.0.3" follows semantic versioning conventions for maintenance updates.
components/zoom_admin/sources/webinar-created/webinar-created.mjs (1)
9-9: LGTM: Coordinated version update.The version increment from "0.1.5" to "0.1.6" is part of the coordinated maintenance update across Zoom Admin components.
components/zoom_admin/sources/account-updated/account-updated.mjs (1)
8-8: LGTM: Final component version alignment.The version increment from "0.1.5" to "0.1.6" completes the coordinated version update across the Zoom Admin components.
components/zoom_admin/sources/account-settings-updated/account-settings-updated.mjs (1)
8-8: LGTM! Version increment is appropriate.The version bump from "0.1.5" to "0.1.6" aligns with the coordinated package update mentioned in the PR objectives.
components/zoom_admin/sources/webinar-changes-to-panelists/webinar-changes-to-panelists.mjs (1)
11-11: LGTM! Consistent version increment.The version bump from "0.1.5" to "0.1.6" is consistent with other source components in this update.
components/zoom_admin/actions/add-webinar-panelist/add-webinar-panelist.mjs (1)
9-9: LGTM! Version increment maintains consistency.The version bump from "0.1.6" to "0.1.7" appropriately maintains the version progression for this action component.
components/zoom_admin/sources/meeting-created/meeting-created.mjs (1)
8-8: LGTM! Final version increment completes the pattern.The version bump from "0.1.5" to "0.1.6" completes the consistent versioning update across all source components.
components/zoom_admin/package.json (1)
3-3: LGTM! Proper semantic versioning for feature additions.The minor version bump from 0.7.3 to 0.8.0 correctly follows semantic versioning conventions for the addition of new features mentioned in the PR summary.
components/zoom_admin/sources/meeting-ended/meeting-ended.mjs (1)
8-8: LGTM! Coordinated version update.The patch version increment from 0.1.5 to 0.1.6 is appropriate for this coordinated release of the zoom_admin component suite.
components/zoom_admin/sources/user-activated/user-activated.mjs (1)
8-8: LGTM! Coordinated version update.The patch version increment from 0.1.5 to 0.1.6 aligns with the coordinated release of the zoom_admin component suite.
components/zoom_admin/sources/user-updated/user-updated.mjs (1)
8-8: LGTM! Coordinated version update.The patch version increment from 0.1.5 to 0.1.6 is consistent with the coordinated release pattern across the zoom_admin component suite.
components/zoom_admin/actions/get-meeting/get-meeting.mjs (1)
9-9: LGTM! Version increment is consistent with package update.The version bump from "0.1.6" to "0.1.7" aligns with the coordinated version update across Zoom Admin components mentioned in the PR objectives.
components/zoom_admin/sources/webinar-ended/webinar-ended.mjs (1)
8-8: LGTM! Version increment is part of coordinated package update.The version bump from "0.1.5" to "0.1.6" is consistent with the broader Zoom Admin package version update.
components/zoom_admin/actions/add-webinar-registrant/add-webinar-registrant.mjs (1)
10-10: LGTM! Version increment follows the coordinated update pattern.The version bump from "0.1.5" to "0.1.6" is consistent with the coordinated version update across multiple Zoom Admin components.
components/zoom_admin/sources/custom-events/custom-events.mjs (1)
8-8: LGTM! Version increment completes the coordinated package update.The version bump from "0.1.5" to "0.1.6" is the final component in this coordinated version update across the Zoom Admin package, aligning with the PR objectives.
components/zoom_admin/actions/delete-webinar-panelist/delete-webinar-panelist.mjs (1)
9-9: LGTM! Version increment follows semantic versioning.The patch version increment from 0.1.5 to 0.1.6 is appropriate for this coordinated release across Zoom Admin components. No functional changes were made to this action, which is expected for version alignment updates.
components/zoom_admin/actions/delete-webinar/delete-webinar.mjs (1)
9-9: LGTM! Consistent version increment.The version bump from 0.1.5 to 0.1.6 aligns with the coordinated version update across Zoom Admin components. The action logic remains unchanged, which is appropriate for this type of release.
components/zoom_admin/actions/end-meeting/end-meeting.mjs (1)
9-9: LGTM! Version increment maintains consistency.The patch version update from 0.1.5 to 0.1.6 is consistent with the coordinated version bump across Zoom Admin action components. No functional modifications were needed for this action.
components/zoom_admin/sources/webinar-started/webinar-started.mjs (1)
8-8: LGTM! Source component version correctly incremented.The version increment from 0.1.7 to 0.1.8 follows the same semantic versioning pattern as the action components. The higher starting version number is normal for source components that may have different release cycles than actions.
components/zoom_admin/actions/get-webinar/get-webinar.mjs (1)
9-9: LGTM: Standard version incrementThe version bump from "0.1.5" to "0.1.6" is consistent with the coordinated release described in the PR objectives. No functional changes were made to the webinar retrieval logic.
components/zoom_admin/sources/webinar-updated/webinar-updated.mjs (1)
9-9: LGTM: Consistent version updateThe version increment to "0.1.6" maintains consistency with other Zoom Admin components in this release. The webinar updated event source functionality remains unchanged.
components/zoom_admin/sources/meeting-deleted/meeting-deleted.mjs (1)
8-8: LGTM: Standard version incrementThe version update to "0.1.6" aligns with the broader Zoom Admin component version updates. The meeting deletion event handling logic remains unchanged.
components/zoom_admin/sources/recording-completed/recording-completed.mjs (1)
9-9: LGTM: Version increment maintains component versioningThe version update to "0.1.7" is appropriate and suggests this component was already at a higher baseline version compared to other Zoom Admin components. The recording completion event handling logic with file type filtering remains unchanged.
components/zoom_admin/actions/list-meetings/list-meetings.mjs (1)
9-9: LGTM: Routine version bump.The version increment from 0.2.2 to 0.2.3 is appropriate for a maintenance update with no functional changes.
components/zoom_admin/actions/create-meeting/create-meeting.mjs (1)
12-12: LGTM: Routine version bump.The version increment from 0.1.5 to 0.1.6 is appropriate for a maintenance update with no functional changes.
components/zoom_admin/actions/update-webinar/update-webinar.mjs (1)
16-16: LGTM: Routine version bump.The version increment from 0.1.5 to 0.1.6 is appropriate for a maintenance update with no functional changes.
components/zoom_admin/actions/delete-meeting/delete-meeting.mjs (1)
9-9: LGTM: Routine version bump.The version increment from 0.1.5 to 0.1.6 is appropriate for a maintenance update with no functional changes.
components/zoom_admin/actions/list-meeting-registrants/list-meeting-registrants.mjs (1)
10-10: LGTM: Routine version bump.The version increment from 0.2.2 to 0.2.3 is appropriate for a maintenance update with no functional changes.
components/zoom_admin/sources/meeting-started/meeting-started.mjs (1)
9-9: LGTM! Coordinated version increment.The version bump from "0.1.5" to "0.1.6" is appropriate for this coordinated release and follows semantic versioning conventions.
components/zoom_admin/actions/list-webinars/list-webinars.mjs (1)
8-8: LGTM! Consistent version increment.The version bump from "0.2.2" to "0.2.3" is part of the coordinated release and follows semantic versioning conventions.
components/zoom_admin/actions/list-webinar-participants/list-webinar-participants.mjs (1)
8-8: LGTM! Consistent version increment.The version bump from "0.2.2" to "0.2.3" maintains consistency with other components in this coordinated release.
components/zoom_admin/actions/update-meeting/update-meeting.mjs (1)
13-13: LGTM! Final coordinated version increment.The version bump from "0.1.5" to "0.1.6" completes the coordinated version increments across the Zoom admin components for this release.
components/zoom_admin/actions/delete-cloud-recording/delete-cloud-recording.mjs (1)
10-10: LGTM! Version increment aligns with PR objectives.The version bump from "0.1.5" to "0.1.6" is consistent with the coordinated version updates mentioned in the PR objectives.
components/zoom_admin/actions/list-webinar-registrants/list-webinar-registrants.mjs (1)
9-9: LGTM! Coordinated version increment.The version bump from "0.2.3" to "0.2.4" is part of the coordinated version updates across Zoom Admin components.
components/zoom_admin/actions/list-cloud-recordings/list-cloud-recordings.mjs (1)
9-9: LGTM! Version increment follows established pattern.The version bump from "0.2.2" to "0.2.3" maintains consistency with the coordinated version updates across the Zoom Admin components.
components/zoom_admin/actions/add-meeting-registrant/add-meeting-registrant.mjs (1)
10-10: LGTM! Completes the coordinated version update.The version bump from "0.1.5" to "0.1.6" completes the consistent version increments across the Zoom Admin action components as intended by this PR.
components/zoom_admin/actions/update-webinar-registrant-status/update-webinar-registrant-status.mjs (1)
11-11: LGTM! Standard version bump.The version increment from "0.1.5" to "0.1.6" is appropriate and consistent with the coordinated version updates across Zoom Admin components mentioned in the PR summary.
components/zoom_admin/actions/list-past-meeting-participants/list-past-meeting-participants.mjs (2)
1-4: Well-structured imports and dependencies.The imports are appropriate and follow the expected pattern for Zoom admin actions:
zoomAdminapp integration
getfrom lodash for safe property access
paginateutility for handling paginated API responses
5-20: Solid action configuration and props.The action metadata and props are well-defined:
- Clear name and description with API documentation link
- Appropriate key following naming conventions
- Standard prop definition for meeting selection
components/zoom_admin/actions/get-meeting-recordings/get-meeting-recordings.mjs (3)
1-4: Clean and organized imports.The imports follow the standard pattern and are properly organized for a Zoom admin action.
5-26: Well-designed action with optional parameter.The action configuration is excellent:
- Clear name and description with proper API documentation link
- Standard meeting prop definition
- Well-implemented optional
downloadAccessTokenboolean parameter with clear description
27-41:✅ Verification successful
Verify the listMeetingRecordings method exists and validate pagination parameters.
The implementation correctly uses the pagination utility and passes the
downloadAccessTokenparameter. However, ensure that:
- The
listMeetingRecordingsmethod is properly implemented in the Zoom admin app- The method accepts the expected parameters
🏁 Script executed:
#!/bin/bash # Description: Verify that the listMeetingRecordings method exists in the Zoom admin app. # Expected: Find the method implementation in zoom_admin.app.mjs ast-grep --pattern $'listMeetingRecordings($_, $_) { $$$ }'Length of output: 62
🏁 Script executed:
#!/bin/bash # Search for occurrences and definition of listMeetingRecordings in the repository rg -n "listMeetingRecordings" -C 3 || trueLength of output: 1333
🏁 Script executed:
#!/bin/bash # Display the implementation of listMeetingRecordings to verify parameter handling rg -n "async listMeetingRecordings" -A10 -B10 components/zoom_admin/zoom_admin.app.mjsLength of output: 800
listMeetingRecordings method existence & parameters verified
- The
listMeetingRecordingsmethod is implemented incomponents/zoom_admin/zoom_admin.app.mjs(lines 404–414).- It accepts
(meetingId, params, nextPageToken)and correctly merges the passedparams(includingdownload_access_token) with its default pagination fields.No further action required.
        
          
                components/zoom_admin/actions/list-past-meeting-participants/list-past-meeting-participants.mjs
          
            Show resolved
            Hide resolved
        
      | /approve | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left a couple of minor comments for text standardization - since this is ready for release, I'll apply them and merge the PR
        
          
                components/zoom_admin/actions/list-past-meeting-participants/list-past-meeting-participants.mjs
              
                Outdated
          
            Show resolved
            Hide resolved
        
      | export default { | ||
| name: "List past meeting participants", | ||
| description: | ||
| "List all participants of a past meeting. [See the docs here](https://developers.zoom.us/docs/api/meetings/#tag/meetings/GET/past_meetings/{meetingId}/participants)", | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| "List all participants of a past meeting. [See the docs here](https://developers.zoom.us/docs/api/meetings/#tag/meetings/GET/past_meetings/{meetingId}/participants)", | |
| "List all participants of a past meeting. [See the documentation](https://developers.zoom.us/docs/api/meetings/#tag/meetings/GET/past_meetings/{meetingId}/participants)", | 
Also if we can replace all instances of "see the docs here" with "see the documentation" in this app, with a quick find+replace, that'd be good for keeping the standard too
…ist-past-meeting-participants.mjs
PR comming from #16879
fix: wrong method's place
chore: up minor package json zoom admin
Incremented version on components
Summary by CodeRabbit
Summary by CodeRabbit
New Features
Chores
All credits to user @jocarino